<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<script>
  // 问题： 箭头函数中的this是怎么查找的
  // 答案： 向外层作用域中，一层一层的查找this，直到this有定义
  const obj = {
      aaa() {
          setTimeout(function () {
              console.log(this) // window
          })

          setTimeout(() => {
              console.log(this) // obj对象
          })
      }
  }

  obj.aaa()

  const obj2 = {
      aaa() {
          setTimeout(function () {
              setTimeout(function () {
                  console.log(this) // window
              })

              setTimeout(() => {

              })
          })

          setTimeout(() => {
              setTimeout(function () {
                  console.log(this) // window
              })

              setTimeout(() => {
                  console.log(this) // obj对象
              })
          })
      }
  }

  obj2.aaa()
</script>
</body>
</html>